package mj.scott.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import mj.scott.pojo.dto.DishDTO;
import mj.scott.pojo.entity.Dish;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 菜品 服务类
 * @author Scott
 * @since 2025-08-15
 */
public interface IDishService extends IService<Dish> {
    // 新增菜品（含口味）
    void saveWithFlavor(DishDTO dishDTO);

    // 分页查询菜品（含口味）
    DishDTO getByIdWithFlavor(Long id);

    // 修改菜品（含口味）
    void updateWithFlavor(DishDTO dishDTO);

    // 删除菜品（含关联口味）
    void removeWithFlavor(List<Long> ids);

    // 批量更新菜品状态
    void updateStatusBatch(Integer status, List<Long> ids);

    //分页查询菜品（包含口味）
    Page<DishDTO> getPage(Integer page, Integer pageSize, String name);

    Page<DishDTO> getByCategoryId(Integer page, Integer pageSize, Long categoryId);
}
